package leetcode.sort;

public class InsertSort extends AbstractSort {

    public InsertSort(int[] array) {
        super(array);
    }

    @Override
    protected void sort() {
        // 十张扑克牌，选择第一张作为有序的，那么只用插入其他九张到合适的位置
        for (int i = 0; i < array.length - 1; i++) {
            // 前i张牌是有序的，将第i+1张牌插入到前i张中合适的位置
            for (int j = i + 1; j > 0; j--) {
                if (array[j] < array[j - 1]) {
                    swap(j, j - 1);
                } else {
                    break;
                }
            }
        }
    }
}
